void main(List<String> args) {
  var l1 = ['香蕉', '苹果', '西瓜'];
  l1.forEach((element) => print(element));

  List list = [1, 2, 3, 4];
  var newList = list.map((e) {
    if (e > 2) {
      return e * 2;
    }
    return e;
  });
  print(newList.toList());

  var newList1 = list.map((e) => e > 2 ? e * 2 : e);
  print(newList1);
  /**
   * 需求： 1.定义一个方法isEvenNumber来判断一个数是否是偶数
   *       2.定义一个方法打印1 - n以内的所有偶数
   */

  bool isEvenNumber(int n) {
    if (n % 2 == 0) {
      return true;
    }
    return false;
  }

  printNum(int n) {
    for (var i = 1; i <= n; i++) {
      if (isEvenNumber(i)) {
        print(i);
      }
    }
  }

  printNum(20);

  int getNum(int n) {
    return n;
  }

  getNum(12);

  //匿名函数
  var printStr = (int n) {
    print(n + 2);
  };
  printStr(2);

//自执行方法
  (() {
    print("我是自执行方法");
  })();
  //带参数的自执行方法
  ((int n) {
    print("我是一个带参数的自执行方法：$n * 3");
  })(12);

  //通过方法的递归 求 1 - 100的和
  var sum = 0;
  fn(int n) {
    sum += n;
    if (n == 0) {
      return;
    }
    fn(n - 1);
  }

  fn(100);
  print(sum);
}
